Notes on rsync profiling

strlcpy is hot:

                0.00    0.00       1/7735635     push_dir [68]
                0.00    0.00       1/7735635     pop_dir [71]
                0.00    0.00       1/7735635     send_file_list [15]
                0.01    0.00   18857/7735635     send_files [4]
                0.04    0.00  129260/7735635     send_file_entry [18]
                0.04    0.00  129260/7735635     make_file [20]
                0.04    0.00  141666/7735635     send_directory <cycle 1> [36]
                2.29    0.00 7316589/7735635     f_name [13]
[14]    11.7    2.42    0.00 7735635         strlcpy [14]


Here's the top few functions:

 46.23      9.57     9.57 13160929     0.00     0.00  mdfour64
 14.78     12.63     3.06 13160929     0.00     0.00  copy64
 11.69     15.05     2.42  7735635     0.00     0.00  strlcpy
 10.05     17.13     2.08    41438     0.05     0.38  sum_update
  4.11     17.98     0.85 13159996     0.00     0.00  mdfour_update
  1.50     18.29     0.31                             file_compare
  1.45     18.59     0.30   129261     0.00     0.01  send_file_entry
  1.23     18.84     0.26  2557585     0.00     0.00  f_name
  1.11     19.07     0.23  1483750     0.00     0.00  u_strcmp
  1.11     19.30     0.23   118129     0.00     0.00  writefd_unbuffered
  0.92     19.50     0.19  1085011     0.00     0.00  writefd
  0.43     19.59     0.09   156987     0.00     0.00  read_timeout
  0.43     19.68     0.09   129261     0.00     0.00  clean_fname
  0.39     19.75     0.08    32887     0.00     0.38  matched
  0.34     19.82     0.07        1    70.00 16293.92  send_files
  0.29     19.89     0.06   129260     0.00     0.00  make_file
  0.29     19.95     0.06    75430     0.00     0.00  read_unbuffered



mdfour could perhaps be made faster:

/* NOTE: This code makes no attempt to be fast!  */

There might be an optimized version somewhere that we can borrow.
